.\" Copyright (c) 1990, 1993
.\"	The Regents of the University of California.  All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\"    notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\"    notice, this list of conditions and the following disclaimer in the
.\"    documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\"    must display the following acknowledgement:
.\"	This product includes software developed by the University of
.\"	California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\"    may be used to endorse or promote products derived from this software
.\"    without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\"	@(#)du.1	8.2 (Berkeley) 4/1/94
.\" $FreeBSD: src/usr.bin/du/du.1,v 1.30 2005/05/21 09:55:05 ru Exp $
.\"
.Dd June 2, 2004
.Dt DU 1
.Os
.Sh NAME
.Nm du
.Nd display disk usage statistics
.Sh SYNOPSIS
.Nm du
.Op Fl H | L | P
.Op Fl a | s | d Ar depth
.Op Fl c
.Op Fl h | k | m | g
.Op Fl x
.Op Fl I Ar mask
.Op Ar
.Sh DESCRIPTION
The
.Nm du
utility displays the file system block usage for each file argument
and for each directory in the file hierarchy rooted in each directory
argument.
If no file is specified, the block usage of the hierarchy rooted in
the current directory is displayed.
.Pp
The options are as follows:
.Bl -tag -width indent
.It Fl a
Display an entry for each file in a file hierarchy.
.It Fl c
Display a grand total.
.It Fl d Ar depth
Display an entry for all files and directories
.Ar depth
directories deep.
.It Fl H
Symbolic links on the command line are followed, symbolic links in file
hierarchies are not followed.
.It Fl h
"Human-readable" output.
Use unit suffixes: Byte, Kilobyte, Megabyte,
Gigabyte, Terabyte and Petabyte.
.It Fl I Ar mask
Ignore files and directories matching the specified
.Ar mask .
.It Fl g
Display block counts in 1073741824-byte (1-Gbyte) blocks.
.It Fl k
Display block counts in 1024-byte (1-Kbyte) blocks.
.It Fl L
Symbolic links on the command line and in file hierarchies are followed.
.It Fl m
Display block counts in 1048576-byte (1-Mbyte) blocks.
.It Fl P
No symbolic links are followed.
This is the default.
.It Fl r
Generate messages about directories that cannot be read, files
that cannot be opened, and so on.
This is the default case.
This option exists solely for conformance with
.St -xpg4 .
.It Fl s
Display an entry for each specified file.
(Equivalent to
.Fl d Li 0 )
.It Fl x
File system mount points are not traversed.
.El
.Pp
The
.Nm du
utility counts the storage used by symbolic links and not the files they
reference unless the
.Fl H
or
.Fl L
option is specified.
If either the
.Fl H
or
.Fl L
options are specified, storage used by any symbolic links which are
followed is not counted or displayed.
If more than one of the
.Fl H ,
.Fl L ,
and
.Fl P
options is specified, the last one given is used.
.Pp
Files having multiple hard links are counted (and displayed) a single
time per
.Nm du
execution.
Directories having multiple hard links (typically Time Machine backups) are
counted a single time per
.Nm du
execution.
.Sh ENVIRONMENT
.Bl -tag -width BLOCKSIZE
.It Ev BLOCKSIZE
If the environment variable
.Ev BLOCKSIZE
is set, and the
.Fl k
option is not specified, the block counts will be displayed in units of that
size block.
If
.Ev BLOCKSIZE
is not set, and the
.Fl k
option is not specified, the block counts will be displayed in 512-byte blocks.
.El
.Sh LEGACY DESCRIPTION
In legacy mode, only one of the
.Fl H ,
.Fl L ,
or
.Fl P
options may be specified.
.Pp
The command will detect and report a SYMLOOP error
(loop involving symbolic links).
In legacy mode, this is not the case.
.Pp
For more information about legacy mode, see
.Xr compat 5 .
.Sh SEE ALSO
.Xr df 1 ,
.Xr fts 3 ,
.Xr compat 5 ,
.Xr symlink 7 ,
.Xr quot 8
.Sh HISTORY
A
.Nm du
command appeared in
.At v1 .
